#include "sqllite3.hpp"
#include <cassert>
#include <iostream>
/*
    int：一行中有的属性个数（列数）
    char** 储存一行数据的字符指针数组
    char** 每一列的字段名称
 */
 int Select(void* v,int,char** table,char** ){
    std::vector<std::string>* data = (std::vector<std::string>*) v;

    data->push_back(table[0]);//只有一个数据所以直接拿去table[0]
    return 0;//必须返回0，不然就会abort异常
 }

int main()
{
    SqliteHelper sq("./test.db");
    
    assert(sq.open());

    // sq.exec("create table if not exists student(sn int primary key,name vchar(32),age int);",nullptr,nullptr);
    
    // sq.exec("insert into student values(3,'小明',18)",nullptr,nullptr);//插入不需要有回调


    std::vector<std::string> v;
    sq.exec("select sn,name,age from student",Select,&v);

    for (auto &name : v) {
        std::cout << name << std::endl;
    }   

    sq.close();
    return 0;
}